Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Virtual Private Networks (VPN) (página 2)




Enviado por Ing. Mariano Hevia



Partes: 1, 2

La autenticación es llevada a cabo generalmente
al inicio de una sesión, y luego aleatoriamente durante el
curso de la misma, para asegurar que no haya algún tercer
participante que se haya intrometido en la conversación.
La autenticación también puede ser usada para
asegurar la integridad de los datos. Los datos son procesados con
un algoritmo de
hashing para derivar un valor incluido
en el mensaje como checksum. Cualquier desviación en el
checksum indica que los datos fueron corruptos en la
transmisión o interceptados y modificados en el
camino.

Ejemplos de sistemas de autenticación son
Challenge Handshake Authentication Protocol (CHAP) y
RSA.

Todas las VPNs tienen algún tipo de
tecnología de encriptación, que esencialmente
empaqueta los datos en un paquete seguro. La
encriptación es considerada tan esencial como la
autenticación, ya que protege los datos transportados de
la poder ser
vistos y entendidos en el viaje de un extremo a otro de la
conexión. Existen dos tipos de técnicas de
encriptación que se usan en las VPN: encriptación
de clave secreta, o privada, y encriptación de clave
pública.

En la encriptación de clave secreta, se utiliza
una contraseña secreta conocida por todos los
participantes que necesitan acceso a la información
encriptada. Dicha contraseña se utiliza tanto para
encriptar como para desencriptar la información. Este tipo
de encriptación posee el problema que, como la
contraseña es compartida por todos los participantes y
debe mantenerse secreta, al ser revelada, debe ser cambiada y
distribuida a los participantes, con lo cual se puede crear de
esta manera algún problema de seguridad.

La encriptación de clave pública implica
la utilización de dos claves, una pública y una
secreta. La primera es enviada a los demás participantes.
Al encriptar, se usa la clave privada propia y la clave
pública del otro participante de la conversación.
Al recibir la información, ésta es desencriptada
usando su propia clave privada y la pública del generador
de la información. La gran desventaja de este tipo de
encriptación es que resulta ser más lenta que la de
clave secreta.

En las VPNs, la encriptación debe ser realizada
en tiempo real. Por eso, los flujos encriptados a través
de una red son encriptados utilizando encriptación de
clave secreta con claves que son solamente buenas para sesiones
de flujo.

El protocolo más usado para la
encriptación dentro de las VPNs es IPSec, que consiste en
un conjunto de proposals del IETF que delinean un protocolo
IP seguro para
IPv4 y IPv6. IPSec provee encriptación a nivel de
IP.

El método de
túneles, como fue descrita anteriormente, es una forma de
crear una red privada. Permite encapsular paquetes dentro de
paquetes para acomodar protocolos incompatibles. Dentro de los
protocolos que se usan para la metodología de túneles se encuentran
Point-to-Point Tunneling Protocol (PPTP), Layer-2 Fowarding
Protocol (L2FP) y el modo túnel de IPSec.

Protocolos utilizados en las
VPNs

PPTP

Point-to-Point Tunneling Protocol fue desarrollados por
ingenieros de Ascend Communications, U.S. Robotics, 3Com
Corporation, Microsoft, y
ECI Telematics para proveer entre usuarios de acceso remoto y
servidores de
red una red privada virtual.

Como protocolo de túnel, PPTP encapsula
datagramas de cualquier protocolo de red en datagramas IP, que
luego son tratados como
cualquier otro paquete IP. La gran ventaja de este tipo de
encapsulamiento es que cualquier protocolo puede ser ruteado a
través de una red IP, como Internet.

PPTP fue diseñado para permitir a los usuarios
conectarse a un servidor RAS
desde cualquier punto en Internet para tener la misma
autenticación, encriptación y los mismos accesos de
LAN como si discaran directamente al servidor. En vez de discar a
un modem
conectado al servidor RAS, los usuarios se conectan a su
proveedor y luego "llaman" al servidor RAS a través de
Internet utilizando PPTP.

Existen dos escenarios comunes para este tipo de
VPN:

  • el usuario remoto se conecta a un ISP que provee el
    servicio de PPTP hacia el servidor RAS.
  • el usuario remoto se conecta a un ISP que no provee
    el servicio de PPTP hacia el servidor RAS y, por lo tanto, debe
    iniciar la conexión PPTP desde su propia máquina
    cliente.

Para el primero de los escenarios, el usuario remoto
estable una conexión PPP con el ISP, que luego establece
la conexión PPTP con el servidor RAS. Para el segundo
escenario, el usuario remoto se conecta al ISP mediante PPP y
luego "llama" al servidor RAS mediante PPTP. Luego de establecida
la conexión PPTP, para cualquiera de los dos casos, el
usuario remoto tendrá acceso a la red corporativa como si
estuviera conectado directamente a la misma.

La técnica de encapsulamiento de PPTP se basa en
el protocolo Generic Routing Encapsulation (GRE), que puede ser
usado para realizar túneles para protocolos a
través de Internet. La versión PPTP, denominada
GREv2, añade extensiones para temas específicos
como Call Id y velocidad de
conexión.

El paquete PPTP está compuesto por un header de
envío, un header Ip, un header GREv2 y el paquete de
carga. El header de envío es el protocolo enmarcador para
cualquiera de los medios a
través de los cuales el paquete viaja, ya sea Ethernet,
frame relay,
PPP. El header IP contiene información relativa al paquete
IP, como ser, direcciones de origen y destino, longitud del
datagrama enviado, etc. El header GREv2 contiene
información sobre el tipo de paquete encapsulado y datos
específicos de PPTP concernientes a la conexión
entre el cliente y servidor. Por último, el paquete de
carga es el paquete encapsulado, que, en el caso de PPP, el
datagrama es el original de la sesión PPP que viaja del
cliente al servidor y que puede ser un paquete IP, IPX, NetBEUI,
entre otros. La siguiente figura ilustra las capas del
encapsulamiento PPTP.

Para la autenticación, PPTP tiene tres opciones
de uso: CHAP, MS-CHAP y aceptar cualquier tipo, inclusive
texto plano.
Si se utiliza CHAP, standard en el que se intercambia un
"secreto" y se comprueba ambos extremos de la conexión
coincidan en el mismo, se utiliza la contraseña de
Windows NT, en
el caso de usar este sistema
operativo, como secreto. MS-CHAP es un standard propietario
de Microsoft y resulta ser una ampliación de CHAP. Para la
tercer opción, el servidor RAS aceptará CHAP,
MS-CHAP o PAP (Password Autenthication Protocol), que no encripta
las contraseñas.

Para la encriptación, PPTP utiliza el sistema RC4
de RSA, con una clave de sesión de 40 bits.

IPSec

IPSec trata de remediar algunas falencias de IP, tales
como protección de los datos transferidos y
garantía de que el emisor del paquete sea el que dice el
paquete IP. Si bien estos servicios son distintos, IPSec da
soporte a ambos de una manera uniforme.

IPSec provee confidencialidad, integridad, autenticidad
y protección a repeticiones mediante dos protocolos, que
son Authentication Protocol (AH) y Encapsulated Security Payload
(ESP).

Por confidencialidad se entiende que los datos
transferidos sean sólo entendidos por los participantes de
la sesión.

Por integridad se entiende que los datos no sean
modificados en el trayecto de la comunicación.

Por autenticidad se entiende por la validación de
remitente de los datos.

Por protección a repeticiones se entiende que una
sesión no pueda ser grabada y repetida salvo que se tenga
autorización para hacerlo.

AH provee autenticación, integridad y
protección a repeticiones pero no así
confidencialidad. La diferencia más importante con ESP es
que AH protege partes del header IP, como las direcciones de
origen y destino.

ESP provee autenticación, integridad,
protección a repeticiones y confidencialidad de los datos,
protegiendo el paquete entero que sigue al header.

AH sigue al header IP y contiene diseminaciones
criptográficas tanto en los datos como en la
información de identificación. Las diseminaciones
pueden también cubrir las partes invariantes del header
IP.

El header de ESP permite rescribir la carga en una forma
encriptada. Como no considera los campos del header IP, no
garantiza nada sobre el mismo, sólo la carga.

Una división de la funcionalidad de IPSec es
aplicada dependiendo de dónde se realiza la
encapsulación de los datos, si es la fuente original o un
gateway:

  • El modo de transporte
    es utilizado por el host que genera los paquetes. En este modo,
    los headers de seguridad son antepuestos a los de la capa de
    transporte, antes de que el header IP sea incorporado al
    paquete. En otras palabras, AH cubre el header TCP y algunos
    campos IP, mientras que ESP cubre la encriptación del
    header TCP y los datos, pero no incluye ningún campo del
    header IP.
  • El modo de túnel es usado cuando el header IP
    entre extremos está ya incluido en el paquete, y uno de
    los extremos de la conexión segura es un gateway. En
    este modo, tanto AH como ESP cubren el paquete entero,
    incluyendo el header IP entre los extremos, agregando al
    paquete un header IP que cubre solamente el salto al otro
    extremo de la conexión segura, que, por supuesto, puede
    estar a varios saltos del gateway.

Los enlaces seguros de IPSec
son definidos en función de
Security Associations (SA). Cada SA está definido para un
flujo unidireccional de datos y generalmente de un punto
único a otro, cubriendo tráfico distinguible por un
selector único. Todo el tráfico que fluye a
través de un SA es tratado de la misma manera. Partes del
tráfico puede estar sujeto a varios SA, cada uno de los
cuales aplica cierta transformación. Grupos de SA son
denominados SA Bundles. Paquetes entrantes pueden ser asignados a
un SA específico por los tres campos definitorios: la
dirección IP de destino, el índice
del parámetro de seguridad y el protocolo de seguridad. El
SPI puede ser considerado una cookie que es repartido por el
receptor del SA cuando los parámetros de la
conexión son negociados. El protocolo de seguridad debe
ser AH o ESP. Como la dirección IP de destino es parte de
la tripleta antes mencionada, se garantiza que este valor sea
único.

Un ejemplo de paquete AH en modo túnel
es:

Un ejemplo de paquete AH en modo transporte
es:

Como ESP no puede autentificar el header IP más
exterior, es muy útil combinar un header AH y ESP para
obtener lo siguiente:

Este tipo de paquete se denomina Transport
Adjacency.

La versión de entunelamiento
sería:

Sin embargo, no es mencionado en las RFC que definen
estos protocolos. Como en Transport Adjacency, esto
autenticaría el paquete completo salvo algunos pocos
campos del header IP y también encriptaría la
carga. Cuando un header AH y ESP son directamente aplicados como
en esta manera, el orden de los header debe ser el indicado. Es
posible, en el modo de túnel, hacer una
encapsulación arbitrariamente recursiva para que el orden
no sea el especificado.

L2TP

Layer-2 Tunneling Protocol (L2TP) facilita el
entunelamiento de paquetes PPP a través de una red de
manera tal que sea lo más transparente posible a los
usuarios de ambos extremos del túnel y para las
aplicaciones que éstos corran.

El escenario típico L2TP, cuyo objetivo es la
creación de entunelar marcos PPP entre el sistema remoto o
cliente LAC y un LNS ubicado en una LAN local, es el que se
muestra en la siguiente figura:

Un L2TP Access
Concentrator (LAC) es un nodo que actúa como un extremo de
un túnel L2TP y es el par de un LNS. Un LAC se
sitúa entre un LNS y un sistema remoto y manda paquetes
entre ambos. Los paquetes entre el LAC y el LNS son enviados a
través del túnel L2TP y los paquetes entre el LAC y
el sistema remoto es local o es una conexión
PPP.

Un L2TP Network Server (LNS) actúa como el otro
extremo de la conexión L2TP y es el otro par del LAC. El
LNS es la terminación lógica
de una sesión PPP que está siendo puesta en un
túnel desde el sistema remoto por el LAC.

Un cliente LAC, una máquina que corre nativamente
L2TP, puede participar también en el túnel, sin
usar un LAC separado. En este caso, estará conectado
directamente a Internet.

El direccionamiento, la autenticación, la
autorización y el servicio de cuentas son
proveídos por el Home LAN’s Management
Domain.

L2TP utiliza dos tipos de mensajes: de control y de
datos. Los mensajes de control son usados para el
establecimiento, el mantenimiento
y el borrado de los túneles y las llamadas. Utilizan un
canal de control confiable dentro de L2TP para garantizar el
envío. Los mensajes de datos encapsulan los marcos PPP y
son enviados a través del túnel.

La siguiente figura muestra la relación entre los
marcos PPP y los mensajes de control a través de los
canales de control y datos de L2TP.

Los marcos PPP son enviados a través de un canal
de datos no confiable, encapsulado primero por un encabezado L2TP
y luego por un transporte de paquetes como UDP, Frame Relay o
ATM. Los mensajes
de control son enviados a través de un canal de control
L2TP confiable que transmite los paquetes sobre el mismo
transporte de paquete.

Se requiere que haya números de secuencia en los
paquetes de control, que son usados para proveer el envío
confiable en el canal de control. Los mensajes de datos pueden
usar los números de secuencia para reordenar paquetes y
detectar paquetes perdidos.

Al correr sobre UDP/IP, L2TP utiliza el puerto 1701. El
paquete entero de L2TP, incluyendo la parte de datos y el
encabezado, viaja en un datagrama UDP. El que inicia un
túnel L2TP toma un puerto UDP de origen que esté
disponible, pudiendo ser o no el 1701 y envía a la
dirección de destino sobre el puerto 1701. Este extremo
toma un puerto libre, que puede ser o no el 1701, y envía
la respuesta a la dirección de origen, sobre el mismo
puerto iniciador. Luego de establecida la conexión, los
puertos quedan estáticos por el resto de la vida del
túnel.

En la autenticación de L2TP, tanto el LAC como el
LNS comparten un secreto único. Cada extremo usa este
mismo secreto al actuar tanto como autenticado como
autenticador.

Sobre la seguridad del paquete L2TP, se requiere que el
protocolo de transporte de L2TP tenga la posibilidad de brindar
servicios de encriptación, autenticación e
integridad para el paquete L2TP en su totalidad. Como tal, L2TP
sólo se preocupa por la confidencialidad, autenticidad e
integridad de los paquetes L2TP entre los puntos extremos del
túnel, no entre los extremos físicos de la
conexión.

Configuración de
protocolos

Configuración de una VPN bajo
Windows

Para configurar una VPN bajo Windows se
necesita lo siguiente:

  • Conexión a Internet tanto para el servidor
    local de NT como para las máquinas
    remotas.
  • Una dirección IP estática
    para el servidor NT.
  • Proxy que se ejecute en el servidor NT, para evitar
    el acceso desautorizado al sistema.
  • Direcciones IP para los recursos a
    compartir.
  • Adaptador virtual de la red instalado en la
    máquina remota o cliente.

La secuencia de pasos es:

  • Hacer una lista de las direcciones IP de los recursos
    que serán compartidos a través de
    Internet.
  • Instalación y ejecución del proxy.
  • En el servidor NT, se deben configurar los archivos del
    usuario NT para que pueda llamar y conectarse al servidor,
    garantizando su acceso al sistema con los permisos de la
    VPN.

Luego de estos pasos, se deberá instalar el
adaptador privado de la red en la máquina cliente, como se
indica:

  • Dentro del Diálogo de Red, que se muestra debajo, y
    al cual se accede a través de la opción
    Propiedades del icono Entorno de Red, se presiona el
    botón Add.

  • Aparecerá la siguiente pantalla, se
    deberá seleccionar Adapter y luego presionar el
    botón Add.

  • Aparece el cuadro Select Network adapters, donde se
    deberá elegir el fabricante y el adaptador como se
    muestra en la siguiente figura:

  • Posteriormente, para instalar la conexión a la
    LAN, se deberá acceder al Acceso Remoto a
    Redes

  • Se selecciona Make a New Connection, apareciendo la
    siguiente pantalla, donde se podrá elegir el adaptador
    de VPN:

  • Luego de presionar el botón Next, se
    deberá introducir la dirección IP del servidor
    VPN en la siguiente pantalla:

  • Así se finaliza la creación de la
    nueva conexión:

Para acceder al servidor NT, se abre el Acceso Remoto a
Redes:

Al hacer doble-click en el icono de la conexión
VPN, aparecerá la siguiente pantalla, donde se debe
introducir el nombre de usuario, la contraseña y la
dirección IP del servidor NT:

Para configurar el servidor VPN, se deberá
configurar PPTP, activar el filtro PPTP y activar el soporte PPTP
en los clientes.

Para configurar PPTP en el servidor RAS y en los
clientes que vayan a utilizarlo, se deberán realizar los
siguientes pasos:

  • Dentro de Red en el Panel de
    Control, seleccionando Protocolos, se deberá
    presionar el botón Agregar:

  • Se selecciona Point to Point Tunneling Protocol, y,
    luego de copiados los archivos, aparecerá el cuadro de
    diálogo Configuración de PPTP. El campo
    Número de redes privadas virtuales indica el
    número de conexiones PPTP admitidas. En el ejemplo, se
    establecen 2 VPN:

  • Luego, se inicia la herramienta de
    configuración RAS, donde se deben añadir los
    puertos virtuales que darán servicio a las redes
    privadas virtuales que se deseen establecer. Al presionar el
    botón Agregar, se accede al dialogo
    Agregar dispositivo RAS:

  • Después de ingresadas las entradas, se
    presiona Aceptar. Luego se podrá seleccionar cada
    entrada del diálogo Instalación de Acceso
    Remoto, para configurar el uso del puerto. Las opciones son:
    Sólo recibir llamadas o Hacer y recibir
    llamadas.
  • Después de añadir todos los
    dispositivos virtuales, se podrá cerrar este
    diálogo para volver a la ficha Protocolos. Al
    reiniciar la computadora, ya estará configurado el
    server.

Para la activación del filtro PPTP, se debe
selecciona la solapa Protocolos de Panel de Configuración
/ Red. Dentro de esta pantalla, se elige Protocolo TCP/IP, luego
Propiedades. En la solapa Dirección IP, se selecciona el
adaptador de red sobre el que se aplicará el filtro. Luego
de presionar el botón Avanzadas, se marca la casilla
Activar filtro PPTP y, por último, se reinicia la
máquina para activar la configuración.

Cuando un cliente se conecta a Internet, el procedimiento
para establecer un túnel VPN consta de dos
pasos:

  • Establecimiento por parte del cliente mediante una
    conexión de acceso telefónico a través de
    un ISP.
  • Establecimiento de una conexión PPTP con el
    servidor RAS.

Cuando un cliente se conecta directamente a Internet, no
es necesario establecer una conexión de acceso
telefónico. Sin embargo, el procedimiento para iniciar la
conexión PPTP con el servidor RAS es idéntico. Para
establecer una conexión PPTP es necesario crear una
entrada especial en la guía telefónica. Esta
entrada se distingue por dos características:

  • El campo Marcar utilizado tiene uno de los
    dispositivos virtuales VPN añadidos a la
    configuración RAS al instalar PPTP. Esta lista
    sólo muestra los VPN configurados para hacer
    llamadas.
  • El campo Presentación preliminar de
    número telefónico contiene el nombre DNS o la
    dirección IP del servidor PPTP.

La creación de una conexión PPTP implica
también dos pasos:

  • Se abre la aplicación Acceso telefónico
    a redes, utilizando la guía telefónica que
    permite acceder al ISP a través de un número de
    teléfono y un modem.
  • Establecida la conexión, se debe abrir la
    entrada de la guía telefónica que se conecta al
    túnel PPTP mediante un nombre DNS o una dirección
    IP.

Si el cliente está conectado directamente a
Internet, sólo es necesario el segundo paso.

Configuración de una VPN bajo
LINUX

En este apartado se explica la configuración del
demonio de VPN (VPND) sobre Debian, pero no debiera traer
ningún problema configurarlo en otra distribución.

VPND permite crear enlaces seguros sobre TCP/IP con
claves de hasta 512 bits y algoritmo de encriptación
BLOWFISH, montando una interfaz virtual serie que proporciona la
posibilidad de enrutamiento de IP entre redes. Los pasos a seguir
son:

  • Dar soporte SLIP en el kernel LINUX,
    recompilándolo y probando que funcione.
  • Instalación del paquete vnpd, que, en Debian,
    se puede hacer con ‘apt-get install
    vpnd
    ’.
  • Creación de una clave de sesión,
    utilizando ‘vpnd –m
    /etc/vnpd/vpnd.key
    ’, que debe ser pasada al otro
    extremo de la VPN mediante un medio seguro, ya que es la clave
    que ambos extremos de la VPN comparten.
  • Configuración de los extremos de la VPN,
    siguiendo la estructura
    Cliente/Servidor. A continuación, se muestran el
    contenido de los archivos vpnd.conf de
    configuración para el servidor y el cliente.

Archivo /etc/vpn/vpnd.conf para el
servidor:

mode server

# Direccion IP y puerto del servidor

server a.b.c.d 2001

# Direccion IP y puerto del cliente

client w.x.y.z 2001

# Direccion IP privada del servidor

local a.b.c.d

# Direccion IP privada del cliente

remote w.x.y.z

# Opciones generales

autoroute

Keepalive 10

noanswer 3

keyfile /etc/vnpd/vnpd.key

pidfile /var/run/vpnd.pid

keyttl 120

ramdomdev /dev/urandom

mtu 1600

Archivo /etc/vpn/vpnd.conf para el
cliente:

mode client

# Direccion IP y puerto del servidor

client w.x.y.z 2001

# Direccion IP y puerto del cliente

server a.b.c.d 2001

# Direccion IP privada del servidor

local w.x.y.z

# Direccion IP privada del cliente

remote a.b.c.d

# Opciones generales

autoroute

Keepalive 10

noanswer 3

keyfile /etc/vnpd/vnpd.key

pidfile /var/run/vpnd.pid

keyttl 120

ramdomdev /dev/urandom

mtu 1600

Una vez creados estos archivos, se podrá levantar
la VPN, iniciando los demonios con ‘/etc/init.d/vpnd
start
’. Para comprobar el correcto funcionamiento, se
puede hacer pings a las direcciones privada y del otro
extremo y verificar con ‘ifconfig –a
que exista una nueva interfaz como la siguiente:

sl0 Link encap: VJ Serial Line IP

Inet addr: 10.0.0.1 P-t-P: 10.0.0.2 Mask :
255.255.255

UP POINTOPOINT RUNNING NOARP MULTICAST MTU: 1600
Metric: 1

Rx packets:0 errors: 0 dropped:0 overruns: 0 frame:
0

Compressed: 0

Tx packets:0 errors: 0 dropped:0 overruns: 0
carrier: 0

Collisions: 0 compressed: 0 txqueuelen:
10

RX bytes: 0 (0.0 b) TX bytes; 0 (0.0 b)

Bibliografía

Scott, Charly, Wolfe, Paul, Erwin, Mike: "Virtual
Private Networks", 2° edición, O’Reilly &
Associates, Enero 1999.

Universidad de Valencia: http://www.uv.es/ciuv/cas/vpn/

OpenBSD: http://www.openbsd.org/faq/faq13.html

Gutiérrez González, Ma. Nieves, Sancho
Buzón, Ana Rosa, Casas Cuadrado, Amadeo:

Estudio sobre las VPN (Redes Privadas Virtuales),

http://www.infor.uva.es/~jvegas/docencia/ar/seminarios/VPN.pdf

Valencia, A., Townsley, W., Rubens, A., Pall, G.,
Zorn, G., Palter, B.:
RFC 2661,1999.

 

 

Autor:

Ing. Mariano Hevia

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter